iT邦幫忙

2025 iThome 鐵人賽

DAY 22
0
Security

資安小白—30天學習滲透測試with OWASP ZAP (Zed Attack Proxy)系列 第 22

Day22—安全測試方法論(測試的生命週期)

  • 分享至 

  • xImage
  •  

大家好!我目前正在就讀資訊類科系,平常以接觸程式撰寫居多,對於資安領域的技術沒有太多了解/images/emoticon/emoticon16.gif因此希望藉由這30天的機會,以OWASP ZAP作為主要工具,從實際操作和分析,從環境架設、基本掃描到進階弱點發掘,一步步建立資安思維。
  我將學習如何利用ZAP自動化及主動/被動掃描常見的資安漏洞,並理解其背後的原理,以及該如何修復,例如SQL Injection、XSS等,讓我從「資安小白」進化成具備基本滲透測試技能的「資安入門者」。


今日內容概要:

  1. 安全測試在軟體生命週期中的角色
  2. 安全測試的三種主要模式
  3. 安全測試生命週期
  4. ZAP在安全測試生命週期中的角色

在傳統開發流程中,安全測試往往是被放在「產品上線前」的最後階段週期中的角色,但隨著DevSecOps的興起,安全測試不再只是一個事後的檢查工作,而是必須融入整個 軟體發展生命週期(SDLC)

安全測試在軟體生命

安全測試的目的,是找出應用程式中的 弱點、錯誤配置或邏輯缺陷,這些都可能被惡意攻擊者利用。

階段 對應安全測試活動
規劃階段 威脅建模、風險分析、明確安全需求
開發階段 程式碼審查(白箱測試)、靜態分析
測試階段 動態掃描(黑箱測試)、模糊測試
部署階段 設定檢查、安全配置驗證
維運階段 持續監控、滲透測試、修補驗證
  • 安全測試的目標 並非「找到所有漏洞」,而是 降低可被利用的風險

安全測試的三種主要模式(黑箱、白箱與灰箱)

測試類型 特點 適用情境
黑箱測試 (Black-box) 測試人員不擁有系統的原始碼、架構圖或任何內部憑證,只根據外部行為與回應進行測試。 模擬外部駭客行為與攻擊手法、滲透測試
白箱測試 (White-box) 測試人員擁有 完整的系統資訊,包括原始碼、架構圖、伺服器配置等,針對程式碼層面進行分析。 開發階段、程式碼安全審查(如:原始碼靜態分析 SAST)
灰箱測試 (Gray-box) 測試人員擁有 部分 系統資訊,例如非特權的使用者帳號、部分文件或網路架構圖。 模擬內部測試人員或授權測試

安全測試生命週期

  1. 偵查(Reconnaissance)
    收集目標資訊,如IP範圍、網域、端點、輸入點、Web技術棧(Tech Stack)。這是測試前的情報階段,能幫助建立後續攻擊基礎。
  • ZAP 對應功能:Spider 爬蟲、Passive Scan。
  1. 威脅建模(Threat Modeling)
    分析系統結構,辨識可能的攻擊路徑,繪製數據流圖(DFD),針對高風險區域優先進行測試。

  2. 測試設計(Test Design)
    根據威脅模型與風險優先級設計測試案例,例如「SQL 注入測試」、「弱JWT Token測試」、「CSRF 驗證測試」等。

  3. 執行(Execution)
    使用工具進行自動化掃描或手動滲透測試,按照測試設計執行攻擊模擬。

  • ZAP 對應功能:Active Scan、Fuzzer、自動化腳本(API/CLI)。
  1. 報告(Reporting)
    整理測試結果,須要包含漏洞描述、風險等級、復現步驟與修補建議等的報告。
  • 良好的報告不只是「指出錯誤」,還應協助開發者理解問題的本質。
  1. 修復驗證(Remediation Verification)
    確認修補後的漏洞是否被正確解決(進行 復測),並更新威脅模型。
  • 安全測試是一個「持續循環」的過程,而非一次性事件。
  • ZAP 對應功能:再掃描(Rescan)比對、報告版本管理。

ZAP在安全測試生命週期中的角色

OWASP ZAP本身是一個開源的動態應用程式安全測試(DAST)工具,它在前面提到流程階段中發揮的作用:

  • 偵查: ZAP的爬蟲(Spider)功能,可以幫助測試人員自動化發現目標Web應用程式的所有URL、參數和潛在攻擊面。
  • 威脅建模: 透過被動掃描結果,找出潛在輸入點與弱點
  • 測試設計: 根據先前結果調整掃描策略與字典
  • 執行:
    • 自動掃描 (Active/Passive Scan或CLI/API 自動化測試):ZAP的主動掃描器可以自動發送攻擊請求,測試數百種常見漏洞(如 SQL 注入、跨站腳本等),作為基礎測試的第一道防線。
    • 手動掃描:測試人員可將瀏覽器流量透過ZAP代理,在進行手動測試時,即時檢查並修改請求,執行更複雜的攻擊場景。
  • 報告: 產出結構化報告並自動分類風險。
  • 漏洞驗證: 再次掃描比對修補結果,支援持續整合(CI/CD)。

上一篇
Day21—混合測試流程實戰
下一篇
Day23—威脅模型分析(Threat Modeling)與風險評估
系列文
資安小白—30天學習滲透測試with OWASP ZAP (Zed Attack Proxy)30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言